﻿/*
 * Archive.h
 *
 */
#ifndef __GDK_ARCHIVES_H__
#define __GDK_ARCHIVES_H__

#include <gdk/core/Types.h>
#include <gdk/core/Unknown.h>
#include <gdk/core/IO.h>
#include <gdk/core/md5.h>


namespace gdk
{



	class GDK_CORE_EXPORT Archive : public IO
	{
		DECLARE_CLASS_HANDLE(Archive)

	public:
		virtual ssize_t getArchiveSize(void) const = 0;
		virtual ssize_t getPosition(void) const = 0;
		virtual ssize_t setPosition(ssize_t pos) = 0;
	};

	GDK_CORE_EXPORT bool calcArchiveMd5(Archive *archive, MD5Checksum &checksum);



}//namespace gdk



#endif /*__GDK_ARCHIVES_H__*/
